iT邦幫忙

2024 iThome 鐵人賽

DAY 7
0
AI/ ML & Data

從零開始學 MLOps,一起建立一個自動化機器學習系統吧!系列 第 7

[Day 7] 建構 ML 系統的挑戰 — 再現性

  • 分享至 

  • xImage
  •  

摘要

  模型的再現性指的是在相同條件下,模型應能夠產生一致的結果。為了確保再現性,可以透過手動設定隨機種子、固定套件版本,以及妥善管理平行處理和並行處理中的隨機性來實現。

再現性

定義

  模型應具備在完全相同條件下進行純粹分析的能力,確保特定變因的效果不受其他因素干擾。也就是說,當所有參數保持不變時,模型應該能夠經過一致的資料預處理流程,並使用相同的訓練集、驗證集與測試集,從而產生相同的訓練結果。唯有如此,當我們調整單一變因時,才能確保變化的影響是準確而可測量的。

Random Seed control

  在訓練模型的過程中,再現性可能因為隨機性而受到破壞。為了避免這種情況,在進行資料集切分時,可以手動設定隨機種子來確保一致性。此外,為了進一步保證模型訓練結果的再現性,以下幾個方面也應該固定:

  • 資料集中的樣本選取
  • 訓練集、驗證集、測試集的拆分方式
  • 資料預處理的過程與方法
  • 模型的超參數設定

訓練環境

  為了確保模型訓練的再現性,訓練環境的穩定性也是關鍵。具體來說,應採取以下措施:

  • 固定套件版本:不同版本的套件可能會導致演算法或數值計算上的差異,因此在進行模型訓練時,應確保所使用的軟體套件版本一致,特別是像 TensorFlow、PyTorch 等深度學習框架。
  • 平行處理與並行處理:在使用 multiprocessing 或 multithreading 加速資料處理或模型訓練時,隨機性的管理變得更加複雜,但這可能也將導致結果不可重複。

參考資料

  • Machine Learning Design Patterns: Solutions to Common Challenges in Data Preparation, Model Building, and MLOps CH1
  • Keras model的實驗再現性

上一篇
[Day 6] 設計模式:重新平衡 (Rebalancing)
下一篇
[Day 8] 建構 ML 系統的挑戰 — 資料漂移
系列文
從零開始學 MLOps,一起建立一個自動化機器學習系統吧!12
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言